#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
#include<math.h>

//int main()
//{
//	int n = 0;
//	int m = 0;
//	scanf("%d%d", &n, &m);
//	int x = n / 5;
//	int left1 = n % 5; 
//	if (left1 == 2)
//	{
//		left1 = 1;
//	}
//	else if (left1 == 5)
//	{
//		left1--;
//	}
//	int y = m / 6;
//	int left2 = m % 6;
//	int total = x * 15 * y + left2 * (3 * x * y) + left1 * left2 + left1 * 5;
//	printf("%d ", total);
//	return 0;
//}


//int main()
//{
//	int a = 2022;
//	int num = 0;
//	int count = 0;
//	while (a)
//	{
//		num += a % 10 * pow(9, count);
//		count++;
//		a /= 10;
//	}
//	printf("%d ", num);
//	return 0;
//}


//int main()
//{
//	int year = 2022;
//	int mon = 1;
//	int day = 1;
//	int count = 0;
//	while (mon != 12 && day != 31)
//	{
//		if (mon == 1 || mon == 3 || mon == 5 || mon == 7 || mon == 8 || mon == 10 || mon == 12 && day == 31)
//		{
//			day = 0;
//			mon++;
//		}
//		else if (mon == 4 || mon == 6 || mon == 9 || mon == 11 && day == 30)
//		{
//			day = 0;
//		}
//	}
//	return 0;
//}


//int main()
//{
//	const char arr[8] = { "20220101" };
//	char* p1 = &arr[3];
//	while (arr[5] == 1 || arr[5] == 3 || arr[5] == 5 || arr[5] == 7 || arr[5] == 8 && arr[6] == 3 && arr[6] == 2)
//	{
//
//	}
//	return 0;
//}


//int main()
//{
//	int a, b, n;
//	int count = 1;
//	int day = 0;
//	scanf("%d%d%d", &a, &b, &n);
//	while (n > 0)
//	{
//		if (count < 6)
//		{
//			n -= a;
//		}
//		else if (count <= 7)
//		{
//			n -= b;
//		}
//		if (count == 7)
//		{
//			count = 1;
//		}
//		day++;
//		count++;
//	}
//	printf("%d ", day);
//}

int countchance(int sake, int shop, int hana)
{
	if (hana == 0 && shop == 0 && sake != 0)
	{
		return 0;
	}
	if (sake == 0 && hana == 0 && shop == 0)
	{
		return 1;
	}
	else if (sake == 0 && hana != 0 && shop == 0)
	{
		return 0;
	}
	if (shop == 0 && hana!=0 )
	{
		return countchance(sake - 1, shop, hana - 1);
	}
	if (hana == 0 && shop != 0 )
	{
		return countchance(sake * 2, shop - 1, hana);
	}
	return countchance(sake * 2, shop - 1, hana) + countchance(sake - 1, shop, hana - 1);
}

int main()
{
	int sake = 2;
	int hana = 0;
	int shop = 0;
	scanf("%d%d", &shop, &hana);
	int count = 0;
	int ret = countchance(sake, shop, hana);
	printf("%d ", ret % 1000000007);
	return 0;
}